package com.mark.web.stars.service;


import com.github.pagehelper.PageInfo;
import com.mark.common.ServerResponse;
import com.mark.web.stars.entity.po.Memo;
import com.mark.web.stars.entity.vo.MemoVo;

import java.util.Map;

/**
 * @Description: 《星运》-备忘录的service业务定义
 * @Author: Mark
 * @CreateDate: 2019/3/28 21:32
 * @Version: 2.0
 * @Copyright : 豆浆油条个人非正式工作室
 */
public interface IMemoService {

    /**
     * 新增一条备忘录信息
     * @param memo ：备忘录实例
     * @return ：
     */
    ServerResponse<String> add(Memo memo);

    /**
     * 获取备忘录信息
     * <pre>
     * paramMap：中的参数
     * |--------------------------------------------|
     * |   name             necessary     type      |
     * |--------------------------------------------|
     *     pageNum           true          int       当前页数
     *     pageSize          true          int       当前页面大小
     *     status            true          int       备忘录状态（0：全部；1：待办;2:处理中；3：结束）
     *     searchTime        false         long      搜索时间戳
     *     currentUserId     true          int       当前用户id
     * </pre>
     */
    ServerResponse<PageInfo<MemoVo>> getMemoListBySearch(Map<String, Object> paramMap);

    /**
     * 编辑备忘录
     * @param memo ：备忘录实例
     * @return ：
     */
    ServerResponse<String> edit(Memo memo);

    /**
     * 标记完成结束
     * @param id ：备忘录id
     * @param currentUserId ：当前用户id
     * @return ：
     */
    ServerResponse<String> finish(Integer id, int currentUserId);

    /**
     * 根据备忘录id和用户id删除一条备忘录信息
     * @param id ：备忘录id
     * @param currentUserId ：当前的用户id
     * @return ：
     */
    ServerResponse<String> delete(Integer id, int currentUserId);

}
